package com.sihai.ehr.model.biz;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

import com.sihai.core.BaseEntity;
import com.sihai.ehr.model.sys.AuditStatus;
import com.sihai.ehr.model.sys.InviteEnum;

/**
 * 员工招聘初试对象
 * 
 * @author Henry-PC
 * 
 */
@Entity
public class InterviewFirst extends BaseEntity<Long> {
	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 557722661386582832L;
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	/** 面试按排ID */
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "interview_id")
	private InterviewArrange interviewArrange;

	/** 性格测试 */
	private int personality;
	/** 笔试分数 */
	private int writtenXamination;
	/** 证件核对0-通过，1-未通过 */
	@Enumerated(EnumType.STRING)
	private AuditStatus certificate;
	/** 面试时间0-准时，1-未准时 */
	@Enumerated(EnumType.STRING)
	private InviteEnum interviewOntime;
	/** 仪容、礼貌、衣着整洁5-极佳4-佳3-一般2-稍差1-不佳 */
	@Enumerated(EnumType.STRING)
	private InviteEnum appearance;
	/** 健康和精神5-极佳4-佳3-一般2-稍差1-不佳 */
	@Enumerated(EnumType.STRING)
	private InviteEnum exuberance;
	/** 口齿清晰、发音标准 5-极佳4-佳3-一般2-稍差1-不佳 */
	@Enumerated(EnumType.STRING)
	private InviteEnum enunciation;
	/** 评价 */
	private String appraise;
	/** 评价结果1-建议复试2-不建议复试3-建议岗位4-直接删除 */
	@Enumerated(EnumType.STRING)
	private InviteEnum appraiseResult;
	/** 职等ID(HR_ Grade.id) */
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "grade_advice_id")
	private Grade grade;
	/** 1-删除，0-使用 */
	private boolean cancel;

	@Override
	public Long getId() {
		// TODO Auto-generated method stub
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public InterviewArrange getInterviewArrange() {
		return interviewArrange;
	}

	public void setInterviewArrange(InterviewArrange interviewArrange) {
		this.interviewArrange = interviewArrange;
	}

	public int getPersonality() {
		return personality;
	}

	public void setPersonality(int personality) {
		this.personality = personality;
	}

	public int getWrittenXamination() {
		return writtenXamination;
	}

	public void setWrittenXamination(int writtenXamination) {
		this.writtenXamination = writtenXamination;
	}

	public AuditStatus getCertificate() {
		return certificate;
	}

	public void setCertificate(AuditStatus certificate) {
		this.certificate = certificate;
	}

	public InviteEnum getInterviewOntime() {
		return interviewOntime;
	}

	public void setInterviewOntime(InviteEnum interviewOntime) {
		this.interviewOntime = interviewOntime;
	}

	public InviteEnum getAppearance() {
		return appearance;
	}

	public void setAppearance(InviteEnum appearance) {
		this.appearance = appearance;
	}

	public InviteEnum getExuberance() {
		return exuberance;
	}

	public void setExuberance(InviteEnum exuberance) {
		this.exuberance = exuberance;
	}

	public InviteEnum getEnunciation() {
		return enunciation;
	}

	public void setEnunciation(InviteEnum enunciation) {
		this.enunciation = enunciation;
	}

	public String getAppraise() {
		return appraise;
	}

	public void setAppraise(String appraise) {
		this.appraise = appraise;
	}

	public InviteEnum getAppraiseResult() {
		return appraiseResult;
	}

	public void setAppraiseResult(InviteEnum appraiseResult) {
		this.appraiseResult = appraiseResult;
	}

	public Grade getGrade() {
		return grade;
	}

	public void setGrade(Grade grade) {
		this.grade = grade;
	}

	public boolean getCancel() {
		return cancel;
	}

	public void setCancel(boolean cancel) {
		this.cancel = cancel;
	}

}
